import com.queixate.model.Queixa
import com.queixate.model.Concello
import com.queixate.model.Provincia
import com.queixate.model.TipoEntidade
import com.queixate.model.Entidade

import org.codehaus.jackson.map.ObjectMapper
import com.googlecode.objectify.ObjectifyService

def titulo = params.titulo
def descricion = params.descricion
def tipo = params.tipo
def entidade = params.entidade

def action = params.action ?: "list"

log.info "action: $action"

create = {
	println "nombre: ${titulo}"
	
	if (titulo) {
		def queixa = new Queixa()
		queixa.titulo = titulo
		queixa.descricion = descricion
		queixa.tipo = TipoEntidade.valueOf(tipo)
		queixa.entidade = entidade
		queixa.store()
		
		request.mensaxe="queixa creada."
	}
	
	list()
	
}

list = {
	def queixas = Queixa.search(filter:[:])
	request.queixas = queixas
	
	forward "/queixas.gtpl"
	
}

jsonlist = {
	
	def queixas = Queixa.search(filter:[:])
	
	
	ObjectMapper mapper = new ObjectMapper();
	response.contentType = "application/json"
	
	def results = []
	
	/*for(Queixa queixa in queixas) {
		results << queixa
	}*/
	queixas.each {
		mapa = [it.titulo, it.tipo, '']
		results << mapa
	}
	
	def json = ["title":'resultado',"results":results]
	mapper.writeValue(out, json);
 
}

jsoncorto = {
	
	
	def termino = params.term
	termino = termino.toLowerCase()
	
	def provincia = Provincia.fetch(2)
	
	def concellos = Concello.search(filter:["nomeMinusculas >=": termino, "nomeMinusculas <":termino + "\ufffd", "provincia ==":provincia])
	
	ObjectMapper mapper = new ObjectMapper();
	response.contentType = "application/json"
	
	def results = []
	
	concellos.each {
		//mapa = [it.titulo]
		results << it.nome
	}
	
	def json = results
	mapper.writeValue(out, json);
 
}


this."$action".call()


